﻿using System;
namespace Songhay.Data.GenericWeb.DataTransferContracts
{
    /// <summary>
    /// The data transfer contract for Document data.
    /// </summary>
    public interface IDocument
    {
        /// <summary>
        /// Gets or sets the Client ID.
        /// </summary>
        /// <value>The Client ID.</value>
        string ClientId { get; set; }
        /// <summary>
        /// Gets or sets the create date.
        /// </summary>
        /// <value>The create date.</value>
        DateTime? CreateDate { get; set; }
        /// <summary>
        /// Gets or sets the Document ID.
        /// </summary>
        /// <value>The Document ID.</value>
        int? DocumentId { get; set; }
        /// <summary>
        /// Gets or sets the short name of the Document.
        /// </summary>
        /// <value>The short name of the Document.</value>
        string DocumentShortName { get; set; }
        /// <summary>
        /// Gets or sets the name of the file.
        /// </summary>
        /// <value>The name of the file.</value>
        string FileName { get; set; }
        /// <summary>
        /// Gets or sets whether the Document is active.
        /// </summary>
        /// <value>The Document is active?</value>
        bool? IsActive { get; set; }
        /// <summary>
        /// Gets or sets whether the Document is the root of a Segment.
        /// </summary>
        /// <value>The Document is the root?</value>
        bool? IsRoot { get; set; }
        /// <summary>
        /// Gets or sets the modification date.
        /// </summary>
        /// <value>The modification date.</value>
        DateTime? ModificationDate { get; set; }
        /// <summary>
        /// Gets or sets the path.
        /// </summary>
        /// <value>The path.</value>
        string Path { get; set; }
        /// <summary>
        /// Gets or sets the Segment ID.
        /// </summary>
        /// <value>The Segment ID.</value>
        int? SegmentId { get; set; }
        /// <summary>
        /// Gets or sets the sort ordinal.
        /// </summary>
        /// <value>The sort ordinal.</value>
        byte? SortOrdinal { get; set; }
        /// <summary>
        /// Gets or sets the tag.
        /// </summary>
        /// <value>The tag.</value>
        string Tag { get; set; }
        /// <summary>
        /// Gets or sets the template ID.
        /// </summary>
        /// <value>The template ID.</value>
        int? TemplateId { get; set; }
        /// <summary>
        /// Gets or sets the title.
        /// </summary>
        /// <value>The title.</value>
        string Title { get; set; }
    }
}
